# 作者: 薛文寅仟
# 2024年12月28日16时24分32秒
# 5443912@qq.com
# 2求两个有序数字列表的公共元素
import random as r

s = []
s1 = []
for i in range(10):
    s.append(r.randint(0 + 10 * i, 10 + 10 * i))
    s1.append(r.randint(0 + 10 * i, 10 + 10 * i))
print("s:", s, "\ns1", s1)
print("两者的公共元素为", set(s).intersection(s1))
print("-" * 50)

# 3给定一个n个整型元素的列表a，
# 其中有一个元素出现次数超过n / 2，求这个元素
print("-" * 50)

# 4列表、元组，字典的相同点，不同点有哪些，请罗列
# 均为容器，列表、元组均可容纳不同的数据类型，相比于列表，元组不可原地更改
print("-" * 50)

# 5将元组 (1,2,3) 和集合 {4,5,6} 合并成一个列表。
print(list((1, 2, 3)) + list({4, 5, 6}))
print("-" * 50)

# 6在列表 [1,2,3,4,5,6] 首尾分别添加整型元素 7 和 0。
a = [1, 2, 3, 4, 5, 6]
a.insert(0, 7)
a.append(0)
print(a)
print("-" * 50)

# 7反转列表 [0,1,2,3,4,5,6,7] 。
a = [0, 1, 2, 3, 4, 5, 6, 7]
a.reverse()
print(a)
print("-" * 50)

# 8反转列表 [0,1,2,3,4,5,6,7] 后给出中元素 5 的索引号。
a = [0, 1, 2, 3, 4, 5, 6, 7]
a.reverse()
print(a.index(5))
print("-" * 50)
# print(list(reversed(a)).index(5))  答案

# 9分别统计列表 [True,False,0,1,2]
# 中 True,False,0,1,2的元素个数，发现了什么？
a = [True, False, 0, 1, 2]
print(a.count(True))
print(a.count(False))
print(a.count(0))
print(a.count(1))
print(a.count(2))
# #python中True即1,0即False，用相应的关键字来替换
# a=[True,False,0,1,2]
# for i  in a:
#     print(i,"在a的个数为：",a.count(i))   答案
print("-" * 50)

# 10从列表 [True,1,0,‘x’,None,‘x’,False,2,True]
# 中删除元素‘x’。
a = [True, 1, 0, 'x', None, 'x', False, 2, True]
ctr = 0
while 'x' in a:
    ctr += 1
    a.remove('x')
print("总共进行了%d 次" % ctr)
print(a)
print("-" * 50)

# 11、从列表 [True,1,0,‘x’,None,‘x’,False,2,True]
# 中删除索引号为4的元素。
a = [True, 1, 0, 'x', None, 'x', False, 2, True]
